Clock Distribution Architecture for Logic Tiles of an Integrated Circuit and Method of Operation Thereof

ABSTRACT

An integrated circuit includes a plurality of logic tiles, wherein each logic tile includes a plurality of edges and is configurable to connect with adjacent logic tile. Each logic tile includes a plurality of input/output clock paths, wherein each input/output clock path is associated with a different edge of the logic tile. The plurality of input/output clock paths include a plurality of input clock path, each input clock path configurable to receive a tile input clock signal from an adjacent first logic tile, and a plurality of output clock paths, each output clock path configurable to output a tile output clock signal to an adjacent second logic tile. An output clock path includes a u-turn circuit to receive a tile clock signal having a first predetermined skew and provide a tile clock signal having a second predetermined skew.

RELATED APPLICATION

This non-provisional application claims priority to U.S. ProvisionalApplication No. 62/000,361, entitled “Method and Circuitry of a ClockDistribution Architecture for Logic Tiles of an Integrated Circuit”,filed May 19, 2014, and U.S. Provisional Application No. 62/114,558,entitled “Method and Circuitry of a Clock Distribution Architecture forLogic Tiles of an Integrated Circuit”, filed Feb. 10, 2015 (hereinaftercollectively “the Provisional Applications”). The ProvisionalApplications are incorporated herein by reference in its entirety.

INTRODUCTION

The present inventions are directed to circuitry of and techniques forclock signal distribution and transmission between logic tiles of anintegrated circuit, for example, processors, controllers, statemachines, gate arrays, programmable gate arrays (PGAs), fieldprogrammable gate arrays (FPGAs), and system-on-chips (SOCs). While theinventions and/or embodiments of the present inventions are oftendescribed below in the context of an FPGA, such discussion, inventionsand/or embodiments are also applicable to programmable or configurablelogic block, logic array block, or logic tile circuitry employed inprocessors, controllers, state machines, gate arrays, PGAs and SOCs. Forthe sake of brevity, a separate discussion for each and every integratedcircuit is not provided; however the applicability will be clear to oneof ordinary skill in the art based on the instant disclosure to, forexample, processors, controllers, state machines, gate arrays, PGAs,FPGAs, and SOCs.

Briefly, an FPGA is an integrated circuit which may be configured and/orreconfigured (hereinafter, unless stated otherwise, collectively“configured” or the like (e.g., “configure”, “configuring” and“configurable”)) by a user, customer and/or a designer before and/orafter manufacture. The FPGA includes, among other things, a plurality oftiles having programmable logic components (often called “configurablelogic blocks” (CLB), “logic array blocks” (LAB), or “logictiles”—hereinafter collectively “logic tiles”) and a network ofconfigurable interconnects that allow the logic tiles to communicatewith each other. Each logic tile has a plurality of inputs and outputs.The programmable interconnect are employed to connect the inputs andoutputs of a logic tile to other logic tiles, and also to the FPGA'sexternal inputs and outputs.

Each logic tile typically includes thousands to millions of transistorswhich may be configured to perform combinational functions (simpleand/or complex). The logic tiles may also include memory elements, forexample, flip-flops, registers, blocks/arrays of memory or the like,and/or smaller logic tiles of any kind or type. The logic tiles ofteninclude circuitry to synchronize clock signals that facilitate orderlyimplementation of the functions or operations (for example,synchronously) of the logic tile and/or communication with other logictiles and the FPGA's external inputs and outputs.

BRIEF DESCRIPTION OF THE DRAWINGS

The present inventions may be implemented in connection with embodimentsillustrated in the attached drawings. These drawings show differentaspects of the present inventions and, where appropriate, referencenumerals illustrating like structures, components, materials and/orelements in different figures are labeled similarly. It is understoodthat various combinations of the structures, components, materialsand/or elements, other than those specifically shown, are contemplatedand are within the scope of the present inventions.

Moreover, there are many inventions described and illustrated herein.The present inventions are neither limited to any single aspect norembodiment thereof, nor to any combinations and/or permutations of suchaspects and/or embodiments. Moreover, each of the aspects of the presentinventions, and/or embodiments thereof, may be employed alone or incombination with one or more of the other aspects of the presentinventions and/or embodiments thereof. For the sake of brevity, certainpermutations and combinations are not discussed and/or illustratedseparately herein. Notably, an embodiment or implementation describedherein as “exemplary” is not to be construed as preferred oradvantageous, for example, over other embodiments or implementations;rather, it is intended reflect or indicate the embodiment(s) is/are“example” embodiment(s).

FIG. 1A illustrates a block diagram representation of, for example, anintegrated circuit including control circuitry, clock circuitry andprogrammable/configurable logic circuitry (which may include one or morelogic tiles (each of which includes (i) logic transistors and (ii) clockdistribution and transmission circuitry); in the illustrativeembodiment, the clock circuitry is disposed “on-chip”, for example,clock circuitry integrated in/on the die of the integrated circuitgenerates a clock signal that may be employed by the one or more logictiles of the programmable/configurable logic circuitry to generate logictile clock signals having a desired or programmable skew (for example,substantially no or zero skew) and/or phase (for example, 0 degrees or180 degrees) relative to the tile clock signals of other logic tiles ofthe programmable/configurable logic circuitry; notably, the clockcircuitry may be partially or entirely off-chip (i.e., external to thedie of the integrated circuit);

FIG. 1B illustrates a block diagram representation of a plurality ofinterconnected logic tiles of programmable/configurable logic circuitry,for example, an FPGA, wherein input/output of the logic tiles mayfacilitate communication between logic tiles and/or circuitry externalto the programmable/configurable logic circuitry; notably, theprogrammable/configurable logic circuitry may be comprised of aplurality of logic tiles interconnected via a one or more configurableinterconnects; moreover, one or more (or all) of the logic tiles includeclock distribution and transmission circuitry to (i) generate a logictile clock using the tile's clock tree (see, for example, “Tile Clock”in FIGS. 2A-2C) and (ii) distribute or transmit the logic tile clock ora related clock signal to one or more neighboring logic tiles; the tileclock signal, in one embodiment, is employed to generate a tile clock(see, for example, FIGS. 2A-2C) for use by the logic circuitry (and/ormemory) of the associated logic tile;

FIG. 1C illustrates waveforms of clock signals reflecting skew (delay)there between when traveling from a clock source to a clock destination;for example, a clock signal may skew when that signal travels from oneclock buffer to another clock buffer, or one clock buffer to a logicelement such as a flip-flop, a CLB, or a tile;

FIGS. 2A-2C illustrate block diagram representations of exemplaryembodiments of clock distribution and transmission circuitry of a logictile wherein in these exemplary embodiments, the clock distribution andtransmission circuitry includes a plurality of input and output paths(four paths in this illustrated embodiment—labeled “north clock path”,“east clock path”, “south clock path” and “west clock path”) to generatelogic tile clock signals having a desired or programmable skew and, incertain situations, to distribute or transmit one or more logic tileclocks or related clock signals to one or more neighboring logic tilesof the programmable/configurable logic circuitry; each of the input andoutput paths may include one input/output and u-turn circuit (FIG. 2A),or more than one input/output and u-turn circuit (FIGS. 2B and 2C), orcombinations thereof; notably, in this exemplary embodiment, the u-turncircuit includes one or more buffers with their associatedwire/conductor routing which, in whole or in part, may be employed inthe clock signal distribution path to generate a tile clock signal(having the desired, appropriate or programmable skew relative to thetile clock signals of other logic tiles—see, for example, FIG. 3A) that,in one embodiment, is employed to generate the Tile Clock (i.e., a localclock for that logic tile); as noted above, the tile clock may beemployed by, for example, logic circuitry (and/or memory) to implementfunctions or operations of the associated logic tile and/or synchronizecommunication with other logic tiles and/or the external inputs andoutputs of the programmable/configurable logic circuitry;

FIGS. 3A and 3B illustrate exemplary block diagram representations of aplurality of interconnected logic tiles of, for example, the type oflogic tiles illustrated in FIG. 2A, wherein the tile clock signals aregenerated in each of the logic tiles via the exemplary clockdistribution and transmission circuitry of the associated logic tile;the exemplary clock distribution and distribution paths, and directionsthereof, are indicated by the bold line (solid line in FIG. 3A anddashed line in FIG. 3B) and the arrows wherein the clock distributionand transmission circuitry of each logic tile is configured orprogrammed to provide a clock distribution and distribution path thatprovides the programmed relationship of the tile clock signals (forexample, substantially no or zero skew) that are employed by each of thelogic tiles; in the exemplary embodiment of FIG. 3A, Clock 1 signalinput is received by Logic Tile 1 which, in addition to distributing andtransmitting the clock signal to Logic Tile 2, incorporates a delay thatprovides a predetermined relationship of the clock signal employed byLogic Tile 1 to the clock signals of Logic Tiles 2-5 (and, in certainembodiments, one, some or all of the other Logic Tiles of theprogrammable/configurable logic circuitry); in the exemplary embodimentof FIG. 3B, Clock 2 signal input is received by Logic Tile 2 which, inaddition to distributing and transmitting the clock signal to LogicTiles 1, 3 and 4, incorporates a delay that provides a predeterminedrelationship of the clock signal employed by Logic Tile 2 to the clocksignals of Logic Tiles 1 and 3-5 (and, in certain embodiments, one, someor all of the other Logic Tiles of the programmable/configurable logiccircuitry); notably, one or more of the clock signal inputs mayoriginate directly or indirectly from clock circuitry disposed“on-chip”, for example, clock circuitry integrated in/on the die of theintegrated circuit (see, for example, FIG. 1A) or clock circuitry whichis partially or entirely external to the die of the integrated circuit(for example, Clock 1 and/or Clock 2 may originate on another logictiles and/or clock alignment circuitry (for example, a DLL or PLL) whichis partially or fully on-chip or off-chip;

FIGS. 4A and 4B illustrate block diagram representations of exemplaryembodiments of clock distribution and transmission circuitry of LogicTile 4 of the exemplary architecture of, for example, FIGS. 3A and 3B,respectively, wherein in these exemplary embodiments, the clockdistribution and transmission circuitry may employ zero, one or moreu-turn circuits associated with the west clock path to generate TileClock Signal 4 (having the appropriate or programmable skew relative tothe tile clock signals of other logic tiles (here, substantially no orzero skew)—see, for example, FIGS. 3A and 3B); the Tile Clock Signal 4,in this embodiment, generates one or more Tile Clocks employed by, forexample, the logic circuitry (and memory) to implement functions oroperations of the logic tile and/or synchronize communication with otherlogic tiles and/or the external inputs and outputs of theprogrammable/configurable logic circuitry;

FIG. 5 illustrates an exemplary block diagram representations of aplurality of interconnected logic tiles (of the type illustrated in FIG.2B) of, for example, an FPGA, wherein each logic tile includes aplurality of inputs/outputs at each input/output path (here, two); inthis exemplary embodiment, Logic Tiles 1-5 receive and distribute/outputtwo clock signals (Le., Clock 1 Signal and Clock 2 Signal) which aredistributed to the logic tiles, and via the exemplary clock distributionand transmission circuitry of each logic tile, to generate tile clocksignals associated with each of the clock signals for the logic tiles;the exemplary clock distribution and distribution path, and directionthereof, is indicated by the bold solid or dashed lines and the arrowswherein the clock distribution and transmission circuitry of each logictile is configured or programmed to provide that clock distribution anddistribution path that provides the programmed relationship of the tileclock signals (for example, substantially no or zero skew) that areemployed by the logic tiles; in the exemplary embodiment Clock 1 isinput to Logic Tile 1 and Clock 2 is input is to Logic Tile 2; in bothinstances, the clock signals are distributed/routed to incorporate adelay that provides a predetermined relationship of the clock signalemployed internally by Logic Tiles 1-5 (and potentially one, some or allof the other Logic Tiles of the programmable/configurable logiccircuitry);

FIG. 6 illustrates block diagram representations of an exemplary clockdistribution and transmission circuitry of Logic Tile 4 of the exemplaryarchitecture of FIG. 5, wherein in this exemplary embodiment, the clockdistribution and transmission circuitry may employ zero, one or moreu-turn circuits associated with the west clock path to generate TileClock Signal 4 (having the appropriate or programmable skew relative tothe tile clock signals of other logic tiles (here, substantially no orzero skew); the clock distribution and transmission circuitry of LogicTile 4 includes a plurality of inputs/outputs at each input/output path(in this exemplary embodiment two) which are employed to generate one ormore Tile Clocks associated with either Clock 1 or Clock 2; such tileclocks may be synchronous or asynchronous, for example, based on whetherClock 1 and Clock 2 are synchronous or asynchronous; each Tile Clock maybe employed by, for example, the logic circuitry (and memory) toimplement functions or operations of the logic tile and/or communicationwith other logic tiles and/or the external inputs and outputs of theprogrammable/configurable logic circuitry;

FIG. 7 illustrates a block diagram representation of a plurality ofinterconnected logic tiles (of the type illustrated in FIG. 2B) of, forexample, an FPGA, wherein each logic tile includes a plurality ofinputs/outputs at each input/output path (in this exemplary embodimenttwo); in this exemplary embodiment, Logic Tiles 1-3 each receive twoclock signals (i.e., Clock 1 Signal and Clock 2 Signal) which aredistributed to some but not all of the logic tiles; via the exemplaryclock distribution and transmission circuitry of each logic tile, logictiles generate tile clock signals associated with one or both of theclock signals; the exemplary clock distribution and distribution path,and direction thereof, is indicated by the bold solid or dashed linesand the arrows wherein the clock distribution and transmission circuitryof each logic tile is configured or programmed to provide that clockdistribution and distribution path that provides the programmedrelationship of the tile clock signals (for example, substantially no orzero skew) that are employed by the logic tiles; in the exemplaryembodiment Clock 1 is input to Logic Tile 1 and Clock 2 is input is toLogic Tile 2; in both instances, the clock signals aredistributed/routed to incorporate or create a delay that provides orgenerates a predetermined relationship of the clock signal employedinternally by one some or all of Logic Tiles 1-5;

FIG. 8 illustrates a block diagram representation of an exemplary clockdistribution and transmission circuitry of a rectangular-shaped logictile wherein in this exemplary embodiment, the clock distribution andtransmission circuitry includes a plurality of input and output paths(four paths in this illustrated embodiment -- labeled “north clockpath”, “east clock path”, “south clock path” and “west clock path”) togenerate logic tile clock signals having a desired or programmable skewand, in certain situations, to distribute or transmit one or more logictile clocks or related clock signals to one or more neighboring logictiles of the programmable/configurable logic circuitry; each of theinput and output paths may include one input/output and u-turn circuitto introduce additional vertical and horizontal propagation delaycomponents of the clock signal path (wherein the length of the verticalpaths are different from horizontal paths); notably, in this exemplaryembodiment, the u-turn circuit includes one or more buffers with theirassociated wire/conductor routing which, in whole or in part, may beemployed in the clock signal distribution path to generate a tile clocksignal (having the appropriate or programmable skew relative to the tileclock signals of other logic tiles see, for example, FIG. 9) that, inone embodiment, such circuitry is employed to generate the Tile Clock(i.e., a local clock for that logic tile); as noted above, the tileclock may be employed by, for example, the logic circuitry (and/ormemory) to implement functions or operations of the associated logictile and/or synchronize communication with other logic tiles and/or theexternal inputs and outputs of the programmable/configurable logiccircuitry; and

FIG. 9 illustrates an exemplary block diagram representation of aplurality of interconnected logic tiles of, for example, the type oflogic tiles illustrated in FIG. 8, wherein the tile clock signals aregenerated in each of the logic tiles via the exemplary clockdistribution and transmission circuitry of the associated logic tile;the exemplary clock distribution and distribution path, and directionthereof, is indicated by the bold line and the arrows wherein the clockdistribution and transmission circuitry of each logic tile is configuredor programmed to provide a clock distribution and distribution path(each having the same vertical and horizontal propagation delaycomponents—i.e., in this exemplary embodiment 5 Horizontal and 2Vertical) that provides the programmed relationship of the tile clocksignals (here, substantially no or zero skew) that are employed by eachof the logic tiles; in this exemplary embodiment, Clock 1 signal inputis received by Logic Tile 1 which, in addition to distributing andtransmitting the clock signal to Logic Tile 2, incorporates a delay(which includes vertical and horizontal components of the propagationdelay) that provides a predetermined relationship of the clock signalemployed by Logic Tile 1 to the clock signals of Logic Tiles 2-5 (and,in certain embodiments, one, some or all of the other Logic Tiles of theprogrammable/configurable logic circuitry); notably, although notillustrated in FIG. 9, more than one clock signal input may be receivedby one or more clock tiles as described and illustrated herein; the oneor more of the clock signal inputs may originate directly or indirectlyfrom clock circuitry disposed “on-chip”, for example, clock circuitryintegrated in/on the die of the integrated circuit (see, for example,FIG. 1A) or clock circuitry which is partially or entirely external tothe die of the integrated circuit (for example, Clock Signal Input mayoriginate on another logic tiles and/or clock alignment circuitry (forexample, a DLL or PLL) which is partially or fully on-chip or off-chip.

Again, there are many inventions described and illustrated herein. Thepresent inventions are neither limited to any single aspect norembodiment thereof, nor to any combinations and/or permutations of suchaspects and/or embodiments. Each of the aspects of the presentinventions, and/or embodiments thereof, may be employed alone or incombination with one or more of the other aspects of the presentinventions and/or embodiments thereof. For the sake of brevity, many ofthose combinations and permutations are not discussed separately herein.

DETAILED DESCRIPTION

In one aspect, the present inventions relate to circuitry for andmethods of distributing, generating and/or transmitting clock signals inand/or between logic tiles in integrated circuits, for example,processors, controllers, state machines, gate arrays, PGAs, FPGAs, andSOCs. The circuitry and techniques of the present inventions, in oneembodiment, distribute, generate and/or transmit clock signals in and/orbetween logic tiles of an integrated circuit such that the logic tilesemploy a tile clock signal having the desired or programmable skewrelative to the tile clock signals of other logic tiles of theprogrammable/configurable logic circuitry of the integrated circuit. Forexample, in one embodiment, the clock distribution and transmissioncircuitry in each logic tile generates local clock signals that aresynchronous and have substantially no or zero skew and/or phasedifference relative to the tile clock signals employed in or by otherlogic tiles of the programmable/configurable logic circuitry.

In one embodiment, the integrated circuit includes control circuitry,clock circuitry and programmable/configurable logic circuitry which mayinclude one or more logic tiles. (See, FIGS. 1A and 1B). The logic tilesmay include logic and/or memory transistors (not illustrated) and clockdistribution and transmission circuitry to, among other things, generatelogic tile clock signals having a desired or programmable skew (forexample, substantially no or zero skew) and/or phase (for example, 0degrees or 180 degrees) relative to the tile clock signals of otherlogic tiles of the programmable/configurable logic circuitry. Theexemplary clock distribution and transmission circuitry, in oneembodiment, generates a tile clock (see, for example, FIG. 2A) for thelogic circuitry (and/or memory) of the associated logic tile and, inaddition, distributes or transmits the logic tile clock or a relatedclock signal to one or more neighboring or juxtaposed logic tiles of theprogrammable/configurable logic circuitry.

Briefly, “clock skew” refers to the delays incurred by the clock signalsas it travels from a clock source to a clock destination (see, FIG. 1C).This may occur, for example, when traveling from one clock buffer toanother clock buffer, or one clock buffer to a logic or memory elementsuch as a flip-flop, a CLB, or a tile. In this application, clock skewrefers to the delay in the clock signals when the clock signals travelsfrom one logic tile to another logic tile.

Notably, in the illustrative exemplary embodiment, the clock circuitryis located “on-chip”, for example, clock circuitry integrated in/on thedie of the integrated circuit. Such clock circuitry (for example,phase-locked-loop (PLL) circuitry and/or Delay-locked-loop (DLL)circuitry may be partially or entirely generated internal to or externalfrom the programmable/configurable logic circuitry (for example, in oneor more logic tiles). Alternatively, the clock circuitry may bepartially or entirely off-chip and thereby external to the die of theintegrated circuit. Regardless, the clock circuitry generates a clocksignal that is employed by the one or more logic tiles of theprogrammable/configurable logic circuitry to generate logic tile clocksignals for the associated logic tiles. The logic tile clock may be usedby circuitry to facilitate orderly implementation of functions oroperations of the logic tile and/or communication with other logic tilesand external inputs and outputs.

With reference to FIGS. 2A-2C, the clock distribution and transmissioncircuitry of a logic tile, in one embodiment, includes a plurality ofoutput paths (four paths in this illustrated embodiment—labeled “northclock path”, “east clock path”, “south clock path” and “west clockpath”) to generate logic tile clock signals having a desired orprogrammable skew and, in certain situations, to distribute or transmitone or more logic tile clocks or related clock signals to one or moreneighboring logic tiles of the programmable/configurable logiccircuitry. Notably, in the exemplary embodiment of FIG. 2A, each of thefour clock path has one tile output clock, one tile input clock, and onetile u-turn circuit; whereas in the exemplary embodiment of FIGS. 2B and2C, each of the four clock path has two or more tile output clocks, twoor more tile input clocks, and two or more tile u-turn circuits.

In one embodiment, each clock path includes a plurality of transistors(configured and illustrated, in the exemplary embodiment of FIGS. 2A-2C,as a plurality of buffers). Here, the clock distribution andtransmission circuitry includes one or more u-turn circuits which may beselectively incorporated into the clock signal distribution path of thelogic tile to generate a tile clock signal having the desired orprogrammable skew (for example, substantially no or zero skew) and/orphase (for example, 0 degrees or 180 degrees) relative to the tile clocksignals of other logic tiles of the programmable/configurable logiccircuitry of an integrated circuit. In this exemplary embodiment, au-turn circuit is disposed at each of the output paths to provideflexibility in design and layout of the architecture for clockgeneration of one, some or all of the logic tiles of theprogrammable/configurable logic circuitry. The u-turn circuits in thelogic tile may consist of the same or different type circuits orelements—for example, the u-turn circuit of a first output path mayconsist of one buffer and the u-turn circuit of a second output path mayconsist of two or more buffers. However, it may be advantageous toconstruct the u-turn circuits with the same type of circuits (forexample, buffers and associated conductors) and/or the same or similarelectrical characteristics as the input and output paths. In this way,it may facilitate delay matching of the clock signals from logic tile tologic tile. For example, it may be advantageous to design paths havingthe same resistive and capacitive loading, the same wire length andshielding, the same type of clock buffers, and the same transistors ofsuch clock buffers to more fully match the delay of the clock signalsfrom logic tile to logic tile. Notably, although in the illustrativeembodiments a u-turn circuit is located at all of the output paths of alogic tile, one or more logic tiles may include output paths that do notinclude u-turn circuits at one, some or all of the output paths.

As mentioned above, the layout of the clock distribution andtransmission of the one, some or all of the logic tiles of theprogrammable/configurable logic circuitry may provide a desired orprogrammable skew of the clock signals associated with the logic tilesof the programmable/configurable logic circuitry of an integratedcircuit. In one embodiment, the clock distribution and transmissioncircuitry in each logic tile generates local clock signals that aresynchronous and have substantially no or zero skew relative to the tileclock signals employed in or by other logic tiles of theprogrammable/configurable logic circuitry. For example, with referenceto FIGS. 3A, 3B, 4A and 4B, in one embodiment, the clock distributionand transmission path for Logic Tiles 1-5 provides substantially no orzero skew between the Tiles 1-5 Clock Signals and/or the Tile Clocks ofthe Logic Tiles 1-5. The clock signal distribution path, and directionthereof, is indicated by the bold line and the arrows. The clockdistribution and transmission circuitry of each Logic Tile 1-5 isprogrammed to provide a Tile Clock Signal and/or Tile Clock that hassubstantially no or zero skew relative to the other Tile Clock Signalsand/or Tile Clock, respectively.

In particular, the exemplary embodiment of FIG. 3A, the clock signalinput (“Clock 1 Signal”) is received by Logic Tile 1. The total delayintroduced by each Logic Tile is 7 units. The clock signal distributionpath for: (i) Tile 1 Clock Signal, which is associated with Logic Tile1, incorporates three u-turn circuits (thereby providing a total delayof 7 units), (ii) Tile 2 Clock Signal, which is associated with LogicTile 2, incorporates two u-turn circuits (thereby providing a totaldelay of 7 units), (iii) Tile 3 Clock Signal, which is associated withLogic Tile 3, incorporates one u-turn circuit (thereby providing a totaldelay of 7 units), (iv) Tile 4 Clock Signal, which is associated withLogic Tile 4, incorporates one u-turn circuit (thereby providing a totaldelay of 7 units) and (v) Tile 5 Clock Signal, which is associated withLogic Tile 5, does not incorporate a u-turn circuit (thereby providing atotal delay of 7 units). In this way, the Tile Clock Signals of theLogic Tiles 1-5 of FIG. 3A have substantially no skew there between (inthis exemplary embodiment, each include 7 units of delay in the clockdistribution path, where each unit represents the equivalent delay of 1clock branch, which in this exemplary embodiment is the delay of oneclock buffer plus its associated wire routing).

In the exemplary embodiment of FIG. 3B, the clock signal input (“Clock 2Signal”) is received by Logic Tile 2, which incorporates two u-turncircuits in generating Tile 2 Clock Signal. The total delay introducedby Logic Tile 2 is 5 units. Further, the clock generation pathassociated with Tile 1, which incorporates one u-turn circuit ingenerating Tile 1 Clock Signal (thereby providing a total delay of 5units—2 unit in Logic Tile 2 and 3 units on Logic Tile 1). The TileClock Signals of Logic Tiles 3-5 also include a total delay of 5 units.In this way, the Tile Clock Signals of the Logic Tiles of FIG. 3B havesubstantially no skew there between (in this exemplary embodiment, eachinclude 5 units of delay in the clock generation path, where each unitrepresents the equivalent delay of 1 clock branch, which in thisexemplary embodiment is the delay of one clock buffer plus itsassociated wire/conductor routing).

In another embodiment, the layout of the clock distribution andtransmission of the one, some or all of the logic tiles of theprogrammable/configurable logic circuitry may provide a desired orprogrammable skew of more than one clock signal input. In oneembodiment, the clock distribution and transmission circuitry in one ormore logic tiles may generate local clock signals associated with morethan one input clock wherein the local clock signals associated witheach input clock are synchronous and have substantially no or zero skewrelative to the tile clock signals employed in or more other logic tilesof the programmable/configurable logic circuitry. In another embodiment,the clock distribution and transmission circuitry in one or more logictiles may generate asynchronous local clock signals which have fixed orprogrammable skew relative to the tile clock signals employed in or moreother logic tiles of the programmable/configurable logic circuitry.Notably, with respect to each logic tile, the tile clocks generatedbased on an input clock may be synchronous or asynchronous relative tothe tile clocks generated based on another, different input clock.

In particular, with reference to FIGS. 5 and 6, in one embodiment, theclock distribution and transmission path for Logic Tiles 1-5 (which arethe type of FIGS. 2B or 2C) with respect to Clock 1 providessubstantially no or zero skew between the Tile Clocks (associated withClock 1) of the Logic Tiles 1-5. Similarly, clock distribution andtransmission path for Logic Tiles 1-5 with respect to Clock 2 providessubstantially no or zero skew between the Tile Clocks (associated withClock 2) of the Logic Tiles 1-5. The clock signal distribution path, anddirection thereof, for Clock 1 is indicated by the bold line and thearrows. The clock signal distribution path, and direction thereof, forClock 2 is indicated by the dashed line and the arrows. In thisembodiment, the clock distribution and transmission circuitry of eachLogic Tile 1-5 is programmed to provide a Tile Clock Signal and/or TileSignal in connection with Clock 1 that has substantially no or zero skewrelative to the other Tile Clock Signals and/or Tile Signal,respectively, associated with Clock 1. Similarly, the clock distributionand transmission circuitry of each Logic Tile 1-5 is programmed toprovide a Tile Clock Signal and/or Tile Signal in connection with Clock2 that has substantially no or zero skew relative to the other TileClock Signals and/or Tile Signal, respectively, associated with Clock 2.

Thus, in those embodiments where one or more logic tiles receive,transmit, distribute and generate a plurality of clock signals—based ondifferent input clocks, the clock distribution and transmissioncircuitry of each Logic Tile may employ a plurality of input and outputclock buffers of each path to generate and distribute such clocks. Inthis exemplary embodiment, each tiles generates, distributes andsupports two tile output clocks, two tile input clocks, and two tileu-turn circuits for each clock path, and, as such, each logic tilepropagates two independent clock signals to those pertinent tiles andgenerate two local clocks (Tile Clock Signals corresponding to Clock 1Signal Input and Clock 2 Signal Input—each employed to generateindependent “Tile Clocks” for the associated logic tiles).

Notably, with reference to FIGS. 4A, 4B and 6, the Tile Clock Signalsassociated with Clock 1 and Clock 2 may be employed to generate multiplesynchronous or asynchronous Tile Clocks (based on Clock 1 and/or Clock2) which are employed by, for example, the logic circuitry (and memory)to implement synchronous or asynchronous functions or operations of orin the logic tile and/or synchronous or asynchronous communication withother logic tiles and/or the external inputs and outputs of theprogrammable/configurable logic circuitry. Such synchronous orasynchronous clocks may be relative to Clock 1, or Clock 1 and Clock 2

Notably, the techniques of the present inventions may be implementedusing one or more processors (suitably programmed) to perform, executeand/or assess an architecture for clock distribution of one, some or allof the logic tiles of the programmable/configurable logic circuitry. Theclock distribution architecture may selectively incorporate one or more(or none if appropriate) u-turn circuits into the clock signal path ofone or more of the logic tiles to generate a tile clock signal havingthe desired or programmable skew relative to the tile clock signals ofother logic tiles of the programmable/configurable logic circuitry of anintegrated circuit.

Although the Tile Clock Signals of the logic tiles of FIG. 3A, 3B and 5have been configured or designed to provide substantially no skew therebetween (each include seven buffers in the clock distribution path), theTile Clock Signals may be configured or designed (and thereafterconstructed) to include a predetermined or programmed clock skewrelative to one or more Tile Clock Signals of other logic tiles of theprogrammable/configurable logic circuitry of an integrated circuit. Thearchitecture for clock distribution of one, some or all of the logictiles of the programmable/configurable logic circuitry may be designedto provide a desired or programmable non-zero skew relative to the tileclock signals of other logic tiles of the programmable/configurablelogic circuitry of an integrated circuit. Notably, the programmable skewmay be fixed or programmable/variable (whether one time or multipletimes), for example, during use (in situ) and/or based on one or moreoperating conditions. Moreover, programmable skew may be fixed and/orprogrammable after manufacture, deployment and/or during operation (forexample, in situ by a user and/or operator of the electronic deviceassociated with the control circuitry).

There are many inventions described and illustrated herein. Whilecertain embodiments, features, attributes and advantages of theinventions have been described and illustrated, it should be understoodthat many others, as well as different and/or similar embodiments,features, attributes and advantages of the present inventions, areapparent from the description and illustrations. As such, theembodiments, features, attributes and advantages of the inventionsdescribed and illustrated herein are not exhaustive and it should beunderstood that such other, similar, as well as different, embodiments,features, attributes and advantages of the present inventions are withinthe scope of the present inventions.

Indeed, the present inventions are neither limited to any single aspectnor embodiment thereof, nor to any combinations and/or permutations ofsuch aspects and/or embodiments. Moreover, each of the aspects of thepresent inventions, and/or embodiments thereof, may be employed alone orin combination with one or more of the other aspects of the presentinventions and/or embodiments thereof.

For example, although the u-turn circuits have been described andillustrated as being located at/in associated output paths, the u-turncircuits need not be located at/in and associated with an outputpath—but simply associated with the clock distribution and transmissioncircuitry of the logic tile.

Further, as intimated above, although each clock path of the logic tilesof FIGS. 2A-2C includes at least one u-turn circuit, one or more logictiles may include clock paths that do not include u-turn circuits.Moreover, as indicated above, the u-turn circuits disposed at each ofthe output path may be the same or different type circuits—for example,at first output path, the u-turn circuit may consist of one buffer and,at a second output path, the u-turn circuit may consist of two or morebuffers.

Indeed, the u-turn circuits in the logic tiles may be incorporated intothe clock paths to program or balance clock skew and/or phase (forexample, maintaining substantially no or zero skew) between clocksignals of the logic tiles. Circuits or circuit configurations otherthan u-turn circuits may be employed to program or balance clock skewand/or phase by incorporating, matching or providing a programmabledelay of the clock signals of the logic tiles.

Moreover, although the clock distribution and transmission path forlogic tiles for one or more of the programmable/configurable logiccircuitry may generate independent tile clocks (using independent, forexample, asynchronous input clocks), not all of the logic tiles of theprogrammable/configurable logic circuitry may generate and/or distributesuch independent clocks. For example, with reference to FIG. 7, LogicTile 3 does not generate one or more tile clocks corresponding to Clock1 and Logic Tile 4 does not generate one or more tile clockscorresponding to Clock 2. Similarly, Logic Tile 2 does not generate oneor more tiles clocks corresponding to Clock 2—however, the clockdistribution path for Clock 2 includes Logic Tile 2.

Further, it may be advantageous to disable those buffers, transistors(and other active or passive elements) in non-selected portions of theclock path or portions of the clock distribution and transmissioncircuitry of logic tiles that are not incorporated into the clockdistribution, generation and/or transmission path (hereinaftercollectively, “non-selected circuitry”). For example, with reference toFIG. 6, the entire South Clock Path and/or the u-turn circuit and outputbuffer of the North Clock Path may be disabled (for example, permanentlyor if and until the clock path is reconfigured or reprogrammed—forexample, in situ or during test). In one embodiment, the circuitry maybe disabled by not propagating or providing power to such non-selectedportions (for example, during design and/or manufacture). In anotherembodiment, the circuitry may be disabled via one or more controlsignals from, for example, the control circuitry.

The present inventions may be employed in connection with any “shape”tile including, for example, square, rectangle, trapezoid, pentagonand/or hexagon. Where the propagation delay of clock input and outputpaths in one direction are different from another direction (forexample, the delay introduced in the vertical direction are differentfrom the delay introduced in the horizontal direction), the controlcircuitry may program the clock distribution path to provide arelationship of the horizontal and vertical propagation delay componentsbetween the tiles. For example, with reference to FIG. 8, an exemplaryclock distribution and transmission circuitry of a rectangular-shapedlogic tile includes input and output clock signal path lengths in avertical direction that are different than a horizontal direction and,as such, the input and output paths of the logic tile may include oneinput/output and u-turn circuit to introduce additional vertical andhorizontal propagation delay components of the clock signal path(wherein the length of the vertical paths are different from horizontalpaths). Under these circumstances, the relationship of the verticalclock signal line propagation delay and horizontal clock signal linepropagation delay may be determined, calculated and/or compensatedseparately by the control circuitry (and/or clock distribution andtransmission circuitry) when determining a predetermined or desired skew(for example, no or zero skew) between logic tiles.

With reference to FIG. 9, the exemplary clock distribution anddistribution path, and direction thereof, is indicated by the bold lineand the arrows wherein the clock distribution and transmission circuitryof each logic tile is configured or programmed to provide a clockdistribution and distribution path (each having the same vertical andhorizontal propagation delay components -- i.e., in this exemplaryembodiment 5 Horizontal and 2 Vertical) that provides an exemplaryprogrammed relationship of the tile clock signals (here, substantiallyno or zero skew) that are employed by each of the logic tiles. In thisexemplary embodiment, the clock signal input is received by Logic Tile 1which, in addition to distributing and transmitting the clock signal toLogic Tile 2, incorporates a delay (which includes vertical andhorizontal components of the propagation delay) that provides apredetermined relationship of the clock signal employed by Logic Tile 1to the clock signals of Logic Tiles 2-5 (and, in certain embodiments,one, some or all of the other Logic Tiles of theprogrammable/configurable logic circuitry). In this exemplaryembodiment, each of the Logic Tiles have incorporated the same clockdelay (5 Horizontal and 2 Vertical) using, in certain instances, u-turncircuitry, to balance the clock skew between the Logic Tiles.

Thus, although many of the embodiments are described in the context of asquare shape tile (where the vertical and horizontal components of thepropagation delay are equal or substantially equal), the presentinventions may be implemented where the lengths of the vertical andhorizontal clock signal lines are not equal. Under these circumstances,the relationship of the clock signal line delay to vertical andhorizontal delay may be separately determined and/or calculated bycontrol circuitry and thereafter appropriately configured to provide apredetermined clock skew (which in FIG. 9 is zero). All of theinventions described and illustrated herein are entirely applicable tonon-square logic tile shapes or to logic tiles where the verticalcomponent of the propagation delay is different from the horizontalcomponent of the propagation delay. For the sake of brevity, thediscussions of the inventions set forth herein in connection withnon-square shaped tiles (or logic tiles having an amount of propagationdelay in a first direction on the logic tile that differs from an amountof propagation delay in a second direction on the logic tile) will notbe repeated. As such, a separate discussion for each and every logictile shape is not provided; however the applicability will be clear toone of ordinary skill in the art based on the instant disclosure to, forexample, square, rectangle, trapezoid, pentagon and/or hexagon and/orlogic tiles having components of the propagation delay within the thatdiffer, for example, based on the direction of the clock path).

Notably, the present inventions are applicable to clocking circuitry andarchitectures beyond the x-y dimension or plane. For example, in thecontext of a 3-D integrated circuit chips where tiles may exist ondifferent silicon layers or where the clock architecture traversesvertically within an integrated circuit, the clock paths would bematched in the z dimension or plane. To be sure, the applicability ofthe inventions described and/or illustrated herein to beyond the x-ydimension or plane will be clear to one of ordinary skill in the art inview of this application.

The term “circuitry”, means, among other things, a circuit (whetherintegrated or otherwise), a group of such circuits, one or moreprocessors, one or more state machines, one or more processorsimplementing software, one or more gate arrays, programmable gate arraysand/or field programmable gate arrays, or a combination of one or morecircuits (whether integrated or otherwise), one or more state machines,one or more processors, one or more processors implementing software,one or more gate arrays, programmable gate arrays and/or fieldprogrammable gate arrays. The term “data” means, among other things, acurrent or voltage signal(s) (plural or singular) whether in an analogor a digital form, which may be a single bit (or the like) or multiplebits (or the like).

The memory which stores the data, equations, relationships, and/or lookup table may be a permanent, semi-permanent or temporary (i.e., untilre-programmed) storage that is discrete or resident on (i.e., integratedin), for example, the control circuitry. In connection with thisinvention, the memory may store the programmable skew relationship(whether zero or non-zero) between the Tile Clock Signals and TileClocks of the Logic Tiles of the Programmable/Configurable LogicCircuitry. As such, in one embodiment, the memory may be one timeprogrammable, or data, equations, relationships, and/or look up tableemployed by the control circuitry may be one time programmable (forexample, programmed during test or at manufacture). In anotherembodiment, the memory is more than one time programmable and, as such,the predetermined values and/or band limits employed by the controlcircuitry may be modified after test and/or manufacture.

Notably, the u-turn circuits have been described as consisting ofbuffers. However, the u-turn circuits may be comprised of any active orpassive element now known or later developed which may be employed togenerate a desired or programmable skew and/or phase relative to thetile clock signals of other logic tiles of the programmable/configurablelogic circuitry of an integrated circuit. For example, in oneembodiment, one or more conventional-type buffers may be employed.

As mentioned above, the techniques described herein may be implementedusing one or more processors (suitably programmed) to perform, executeand/or assess one or more of the functions or operations describedherein to generate clock signal distribution and transmission networksor architectures of the present inventions.

Moreover, the present inventions may be employed in conjunction with anyof the inventions described and illustrated in PCT Application SerialNos. PCT/US2014/029404 and PCT/US2014/029407. For the sake of brevity,such combinations will not be discussed, in detail, separately herein.

Notably, various circuits and circuitry disclosed herein may bedescribed using computer aided design tools and expressed (orrepresented), as data and/or instructions embodied in variouscomputer-readable media, in terms of their behavioral, registertransfer, logic component, transistor, layout geometries, and/or othercharacteristics. Formats of files and other objects in which suchcircuit expressions may be implemented include, but are not limited to,formats supporting behavioral languages such as C, Verilog, and HLDL,formats supporting register level description languages like RTL, andformats supporting geometry description languages such as GDSII, GDSIII,GDSIV, CIF, MEBES and any other formats and/or languages now known orlater developed. Computer-readable media in which such formatted dataand/or instructions may be embodied include, but are not limited to,non-volatile storage media in various forms (e.g., optical, magnetic orsemiconductor storage media) and carrier waves that may be used totransfer such formatted data and/or instructions through wireless,optical, or wired signaling media or any combination thereof. Examplesof transfers of such formatted data and/or instructions by carrier wavesinclude, but are not limited to, transfers (uploads, downloads, e-mail,etc.) over the Internet and/or other computer networks via one or moredata transfer protocols (e.g., HTTP, FTP, SMTP, etc.).

Indeed, when received within a computer system via one or morecomputer-readable media, such data and/or instruction-based expressionsof the above described circuits may be processed by a processing entity(e.g., one or more processors) within the computer system in conjunctionwith execution of one or more other computer programs including, withoutlimitation, net-list generation programs, place and route programs andthe like, to generate a representation or image of a physicalmanifestation of such circuits. Such representation or image maythereafter be used in device fabrication, for example, by enablinggeneration of one or more masks that are used to form various componentsof the circuits in a device fabrication process.

Moreover, the various circuits and circuitry, as well as techniques,disclosed herein may be represented via simulations using computer aideddesign and/or testing tools. The simulation of the charging circuitry,control circuitry and/or monitoring circuitry, and/or techniquesimplemented thereby, may be implemented by a computer system whereincharacteristics and operations of such circuitry, and techniquesimplemented thereby, are imitated, replicated and/or predicted via acomputer system. The present inventions are also directed to suchsimulations of the inventive charging circuitry, control circuitryand/or monitoring circuitry, and/or techniques implemented thereby, and,as such, are intended to fall within the scope of the presentinventions. The computer-readable media corresponding to suchsimulations and/or testing tools are also intended to fall within thescope of the present inventions.

Notably, reference herein to “one embodiment” or “an embodiment” (or thelike) means that a particular feature, structure, or characteristicdescribed in connection with the embodiment may be included, employedand/or incorporated in one, some or all of the embodiments of thepresent inventions. The usages or appearances of the phrase “in oneembodiment” or “in another embodiment” (or the like) in thespecification are not referring to the same embodiment, nor are separateor alternative embodiments necessarily mutually exclusive of one or moreother embodiments, nor limited to a single exclusive embodiment. Thesame applies to the term “implementation.” The present inventions areneither limited to any single aspect nor embodiment thereof, nor to anycombinations and/or permutations of such aspects and/or embodiments.Moreover, each of the aspects of the present inventions, and/orembodiments thereof, may be employed alone or in combination with one ormore of the other aspects of the present inventions and/or embodimentsthereof. For the sake of brevity, certain permutations and combinationsare not discussed and/or illustrated separately herein.

Further, an embodiment or implementation described herein as “exemplary”is not to be construed as preferred or advantageous, for example, overother embodiments or implementations; rather, it is intended convey orindicate the embodiment or embodiments are example embodiment(s).

Finally, although the present inventions have been described in certainspecific aspects, many additional modifications and variations would beapparent to those skilled in the art. It is therefore to be understoodthat the present inventions may be practiced otherwise than specificallydescribed without departing from the scope and spirit of the presentinvention. Thus, embodiments of the present inventions should beconsidered in all respects as illustrative and not restrictive.

In the claims, and elsewhere, the terms “first,” “second,” and the like,herein do not denote any order, quantity, or importance, but rather areused to distinguish one element from another. Moreover, the terms “a”and “an” herein do not denote a limitation of quantity, but ratherdenote the presence of at least one of the referenced item. Further, theterm “data” may mean, among other things, a current or voltage signal(s)whether in analog or a digital form (which may be a single bit (or thelike) or multiple bits (or the like)). Further, the term “logic tile”means a design unit or block of a plurality of transistors (typicallythousands to millions), which, in this application, is capable ofconnecting or connected to a plurality of neighboring “tile”, “core” or“block” (for example, in or during operation).

As used in the claims, the terms “comprises,” “comprising,” “includes,”“including,” “have,” and “having” or any other variation thereof, areintended to cover a non-exclusive inclusion, such that a process,method, circuit, article, or apparatus that comprises a list of elementsdoes not include only those elements but may include other elements notexpressly listed or inherent to such process, method, article, orapparatus.

What is claimed is:
 1. An integrated circuit comprising: a plurality oflogic tiles, wherein each logic tile includes a plurality of edges and,during operation, is configurable to connect with at least one logictile adjacent to each edge of the logic tile, and wherein each logictile includes: a plurality of input/output clock paths, wherein eachinput/output clock path is associated with a different edge of the logictile, the plurality of input/output clock paths include: a plurality ofinput clock path, each input clock path configurable to receive a tileinput clock signal from a connected adjacent first logic tile, and aplurality of output clock paths, each output clock path configurable tooutput a tile output clock signal to a connected adjacent second logictile, wherein at least one of the output clock path includes: a u-turncircuit, connected to or in an associated output clock path, to (i)receive a tile clock signal having a first predetermined skew relativeto the tile output clock signal and (ii) provide a tile clock signalwith a second predetermined skew; clock generation circuitry, coupled tothe u-turn circuit of the output clock path, to receive the tile clocksignal from the u-turn circuit and generate a tile clock based thereon;and programmable logic circuitry, coupled to the clock generationcircuitry, to receive the tile clock and perform operations basedthereon.
 2. The integrated circuit of claim 1 wherein the u-turn clockcircuit of each logic tile includes one or more buffers.
 3. Theintegrated circuit of claim 1 wherein the u-turn clock circuit of eachlogic tile consists essential of one or more buffers.
 4. The integratedcircuit of claim 1 wherein each logic tile includes four or moreinput/output clock paths, each input/output clock path is associatedwith a different edge of the logic tile.
 5. The integrated circuit ofclaim 1 wherein the tile clock includes a programmable skew that isassociated with the logic tile.
 6. The integrated circuit of claim 1wherein the logic tile includes a plurality of u-turn circuits, at leastone connected to or in each output clock path clock.
 7. An integratedcircuit comprising: a plurality of logic tiles, wherein each logic tileincludes a plurality of edges and, during operation, is configurable toconnect with one or more adjacent logic tiles at an associated edge ofthe logic tile, and wherein: a first logic tile includes: a plurality ofinput/output clock paths, wherein each input/output clock path isassociated with a different edge of the first logic tile, the pluralityof input/output clock paths include: a plurality of input clock paths,including a first input clock path configurable to receive a tile inputclock signal from a second logic tile adjacent at a first side of thefirst logic tile, and a plurality of output clock paths, including (a) afirst output clock path configurable to output a tile output clocksignal to an adjacent third logic tile wherein the third logic tile isconnected at a second side of the first logic tile, and (b) a secondoutput clock path configurable to output a tile output clock signal toan adjacent fourth logic tile wherein the fourth tile is connected at athird side of first logic tile, and wherein at least one of theplurality of output clock paths includes a u-turn circuit, connected toor in the at least one output clock path, to (i) receive a signal havinga predetermined skew relative to the tile output clock signal and (ii)provide a first tile clock signal; clock generation circuitry, coupledto the u-turn circuit, to receive the first tile clock signal from theu-turn circuit and generate a first tile clock for the first logic tilebased thereon; and programmable logic circuitry, coupled to the clockgeneration circuitry, to receive the first tile clock and performoperations based thereon.
 8. The integrated circuit of claim 7 whereinthe first tile clock and the tile output clock signal have apredetermined skew therebetween.
 9. The integrated circuit of claim 7wherein the first tile clock and the tile output clock signal have asubstantially zero skew therebetween.
 10. The integrated circuit ofclaim 7 wherein the first and second u-turn clock circuits are one ormore buffers.
 11. The integrated circuit of claim 7 wherein the logictile includes a plurality of u-turn circuits, at least one connected toor in each output clock path clock.
 12. The integrated circuit of claim7 wherein the third logic tile includes: a plurality of input/outputclock paths, wherein each input/output clock path of the third logictile is associated with a different edge of the third logic tile, theplurality of input/output clock paths of the third logic tile include: aplurality of input clock paths, including a first input clock pathconfigurable to receive the first tile output clock signal from thefirst logic tile, wherein the third logic tile is connected to the firstlogic tile at a first side of the third logic tile, and a plurality ofoutput clock paths, including (a) a first output clock path configurableto output a tile output clock signal to a fifth logic tile which isconnected at a second side of third logic tile, and (b) a second outputclock path configurable to output a tile output clock signal to a sixthlogic tile which is connected at a third side of the third logic tile,wherein at least one of the plurality of output clock paths includes au-turn circuit, connected to or in the at least one output clock path,to (i) receive a signal having a predetermined skew relative to the tileoutput clock signal and (ii) provide a third tile clock signal; clockgeneration circuitry, coupled to the u-turn circuit of the third logictile, to receive the third tile clock signal from the u-turn circuit ofthe third logic tile and generate a third tile clock based thereon; andprogrammable logic circuitry, coupled to the clock generation circuitryof the third logic tile, to receive the third tile clock and performoperations based thereon.
 13. The integrated circuit of claim 12 whereinthe first tile clock and the third tile clock have a predetermined skewtherebetween.
 14. The integrated circuit of claim 12 wherein the firsttile clock and the third tile clock have a substantially zero skewtherebetween.
 15. An integrated circuit comprising: a plurality of logictiles, including: a first logic tile which, during operation, isconfigurable to connect with one or more adjacent logic, and whereinfirst logic tile includes: a plurality of input/output clock paths,wherein each input/output clock path, each input/output clock pathincludes: a first input clock path to receive a first tile input clocksignal from a first adjacent logic tile connected thereto, a secondinput clock path to receive a second tile input clock signal from thefirst adjacent logic tile connected thereto, a plurality of output clockpaths including:  a first output clock path configurable to output afirst tile output clock signal to a second adjacent logic tile connectedthereto,  a second output clock path configurable to output a secondtile output clock signal to the second adjacent logic tile connectedthereto,  a first u-turn circuit, connected to or in the at least oneoutput clock path, to (i) receive a first signal having a predeterminedskew relative to a first tile output clock signal and (ii) provide thefirst signal;  a second u-turn circuit, connected to or in the at leastone output clock path, to (i) receive a second signal having apredetermined skew relative to a second tile output clock signal and(ii) provide the second signal; clock generation circuitry, coupled tothe first and second u-turn circuits, to receive the first and secondtile clock signals from the u-turn circuits and generate first andsecond tile clock using the first and second tile clock signals,respectively; and programmable logic circuitry, coupled to the clockgeneration circuitry, to receive the first and second tile clocks andperform operations based thereon.
 16. The integrated circuit of claim 15wherein the first tile clock and the first tile output clock signal havea predetermined skew therebetween.
 17. The integrated circuit of claim15 wherein the first tile clock and the first tile output clock signalhave a substantially zero skew therebetween.
 18. The integrated circuitof claim 15 wherein the first and second u-turn clock circuits are oneor more buffers.
 19. The integrated circuit of claim 15 wherein thefirst and second u-turn clock circuits consists essential of one or morebuffers.
 20. The integrated circuit of claim 15 wherein the logic tileincludes a plurality of u-turn circuits, at least one connected to or ineach output clock path clock.